package com.foogui.bootjdbctemplate.template;

import conm.foogui.common.po.Order;
import org.springframework.stereotype.Repository;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * 子类实现抽象父类，实现模板方法中未实现的部分即可
 * 但是有一个问题就是子类会定义的非常多，于是就衍生出回调接口的方式代替模板方式
 *
 * @author Foogui
 * @date 2023/04/12
 */
@Repository
public class OrderJdbcTemplate extends AbstractJdbcTemplate{
    @Override
    public Object handleResultSet(ResultSet rs) throws SQLException {
        List<Order> orders = new ArrayList<>();
        while (rs.next()) {
            Order order = new Order(rs.getLong("id"), rs.getString("order_name"));
            orders.add(order);
        }
        return orders;
    }
}
